#ifndef SNAKESNAKE_H
#define SNAKESNAKE_H

#include <QObject>
#include <QList>

#include "defines.h"

class SnakeSnake : public QObject
{
    Q_OBJECT
private:
    QList<Point > snake;
    quint32 size;

    qint32 points;

public:
    explicit SnakeSnake(QObject *parent = 0);

    void createSnake(Point head, quint32 length = 4);

    void killSnake();

    const QList<Point>& getBody();
    Point getHead();

    void move(Point newHeadPosition);

    void increase();
    void decrease();


    qint32 getPoints();
    void addPoints(qint32 additive);
signals:
    
public slots:
    
};

#endif // SNAKESNAKE_H
